home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
DDJMAG
/
DDJ9203.ZIP
/
80X87.ZIP
/
TESTFPU.H
< prev
next >
Wrap
Text File
|
1991-11-10
|
2KB
|
54 lines
/* testfpu.h: header file for testpow.c, testsum.c, and testquad.c
* Copyright (C) 1991 by Nicholas Wilt. All rights reserved.
*/
/* This file contains external declarations and definitions of a
* few functions common to the three .c files.
*
* Function definitions don't normally belong in include files,
* but this header doesn't include anything intrinsic to the
* material demonstrated by the programs.
*/
#include <math.h>
#include <stdio.h>
#include <dos.h>
#include <stdlib.h>
#include <string.h>
/* External declarations of the assembler functions. */
extern double intpow(double x, unsigned int y);
extern double sumarray(float *arr, int n);
extern int solve_quadratic(double a, double b, double c,
double *x1, double *x2);
/* Routine to calculate the number of hundredths of seconds in
a given time structure. */
long
num_hunds(struct time *a)
{
long hrs, mins, secs;
hrs = a->ti_hour * 360000L;
mins = a->ti_min * 6000L;
secs = a->ti_sec * 100L;
return(hrs + mins + secs + (long) a->ti_hund);
}
/* Routine to calculate the number of hundredths of seconds
between two given time structures. */
long
diff_time(struct time *beg, struct time *end)
{
return(num_hunds(end) - num_hunds(beg));
}
/* Returns % faster that the "fast"
* time is compared to the "slow."
*/
int
percent_diff(long dead, long fast, long slow)
{
double diff = (double) (slow - dead) / (fast - dead);
return (int) (diff*100.0 - 100.0);
}